Where computing resources are shared among a number of customers, shared resources need to be allocated efficiently. A conventional solution is to treat all customers alike, and allocate resources in a first-come, first-served manner. However, customers are not all alike. Some customers may contract for premium services, and pay more than other customers, for example. Allocation decisions may be complex, and rapid changes of allocations may be required. Shared computing resources may handle large numbers of transactions, with heavy network traffic, and rapid fluctuations in volume.
Thus there is a need for methods and systems that allocate shared computing resources efficiently, taking into account pertinent information about the customers.